"""
下拉框
在form表单中设置下拉框：
    省份：
      <select>
          <option>山西省</option>
          <option>山东省</option>
          <option>河南省</option>
      </select>
    1）将定位到的元素强转为Select对象，通过select()
    2）Select对象 通过.options获取所有的下拉框选项对象
    3）通过选项去选择使用哪个下拉框，通过.text 获取下拉框选项内容

选中动作：
    1)通过文本选中
    2）通过下拉框下标选中
    3）通过下拉框的value属性值选中

"""

import time

from  selenium import webdriver
from  selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select

# 获取驱动
driver = webdriver.Chrome()
# 通过驱动打开网页
driver.get("http://127.0.0.1/ranzhi/www")
time.sleep(1)

# 登录
driver.find_element("id","account").send_keys("admin")
driver.find_element("id","password").send_keys("123456")
driver.find_element("id","submit").click()
time.sleep(1)
# 点击后台按钮
driver.find_element("id","s-menu-superadmin").click()


# 获取iframe标签
i = driver.find_element("id","iframe-superadmin")
# 切换到iframe
driver.switch_to.frame(i)
time.sleep(1)
# 点击添加成员
driver.find_element("class name","shortcut.user").click()
time.sleep(2)

# 定位到角色
se = driver.find_element("id","role")
select1 = Select(se)  # 强转为Select对象

texts = select1.options # 获取所有的选项对象
list1=[]
for text in texts:
    list1.append(text.text)
    print(text.text,"----下拉框选项内容")

# 通过下拉内容选中
# select1.select_by_visible_text(list1[2])
# 通过下标选中
# select1.select_by_index(2)
# 通过value属性值选中
select1.select_by_value("dev")

time.sleep(10)
# 切换到上一层
# driver.switch_to.parent_frame()
# 切换到最外层
driver.switch_to.default_content()

# 签退
driver.find_element("link text","签退").click()
time.sleep(10)



